home *** CD-ROM | disk | FTP | other *** search
/ Chip 2007 January, February, March & April / Chip-Cover-CD-2007-02.iso / Pakiet bezpieczenstwa / mini Pentoo LiveCD 2006.1 / mpentoo-2006.1.iso / livecd.squashfs / usr / include / linux / x25.h < prev    next >
C/C++ Source or Header  |  2005-10-13  |  2KB  |  113 lines

  1. /*
  2.  * These are the public elements of the Linux kernel X.25 implementation.
  3.  *
  4.  *     History
  5.  *    mar/20/00    Daniela Squassoni Disabling/enabling of facilities 
  6.  *                      negotiation.
  7.  */
  8.  
  9. #ifndef    X25_KERNEL_H
  10. #define    X25_KERNEL_H
  11.  
  12. #define    SIOCX25GSUBSCRIP    (SIOCPROTOPRIVATE + 0)
  13. #define    SIOCX25SSUBSCRIP    (SIOCPROTOPRIVATE + 1)
  14. #define    SIOCX25GFACILITIES    (SIOCPROTOPRIVATE + 2)
  15. #define    SIOCX25SFACILITIES    (SIOCPROTOPRIVATE + 3)
  16. #define    SIOCX25GCALLUSERDATA    (SIOCPROTOPRIVATE + 4)
  17. #define    SIOCX25SCALLUSERDATA    (SIOCPROTOPRIVATE + 5)
  18. #define    SIOCX25GCAUSEDIAG    (SIOCPROTOPRIVATE + 6)
  19.  
  20. /*
  21.  *    Values for {get,set}sockopt.
  22.  */
  23. #define    X25_QBITINCL        1
  24.  
  25. /*
  26.  *    X.25 Packet Size values.
  27.  */
  28. #define    X25_PS16        4
  29. #define    X25_PS32        5
  30. #define    X25_PS64        6
  31. #define    X25_PS128        7
  32. #define    X25_PS256        8
  33. #define    X25_PS512        9
  34. #define    X25_PS1024        10
  35. #define    X25_PS2048        11
  36. #define    X25_PS4096        12
  37.  
  38. /*
  39.  * An X.121 address, it is held as ASCII text, null terminated, up to 15
  40.  * digits and a null terminator.
  41.  */
  42. struct x25_address {
  43.     char x25_addr[16];
  44. };
  45.  
  46. /*
  47.  *    Linux X.25 Address structure, used for bind, and connect mostly.
  48.  */
  49. struct sockaddr_x25 {
  50.     sa_family_t       sx25_family;        /* Must be AF_X25 */
  51.     struct x25_address sx25_addr;        /* X.121 Address */
  52. };
  53.  
  54. /*
  55.  *    DTE/DCE subscription options.
  56.  *
  57.  *      As this is missing lots of options, user should expect major
  58.  *    changes of this structure in 2.5.x which might break compatibilty.
  59.  *      The somewhat ugly dimension 200-sizeof() is needed to maintain
  60.  *    backward compatibility.
  61.  */
  62. struct x25_subscrip_struct {
  63.     char device[200-sizeof(unsigned long)];
  64.     unsigned long    global_facil_mask;    /* 0 to disable negotiation */
  65.     unsigned int    extended;
  66. };
  67.  
  68. /* values for above global_facil_mask */
  69.  
  70. #define    X25_MASK_REVERSE    0x01    
  71. #define    X25_MASK_THROUGHPUT    0x02
  72. #define    X25_MASK_PACKET_SIZE    0x04
  73. #define    X25_MASK_WINDOW_SIZE    0x08
  74.  
  75.  
  76.  
  77. /*
  78.  *    Routing table control structure.
  79.  */
  80. struct x25_route_struct {
  81.     struct x25_address address;
  82.     unsigned int       sigdigits;
  83.     char           device[200];
  84. };
  85.  
  86. /*
  87.  *    Facilities structure.
  88.  */
  89. struct x25_facilities {
  90.     unsigned int    winsize_in, winsize_out;
  91.     unsigned int    pacsize_in, pacsize_out;
  92.     unsigned int    throughput;
  93.     unsigned int    reverse;
  94. };
  95.  
  96. /*
  97.  *    Call User Data structure.
  98.  */
  99. struct x25_calluserdata {
  100.     unsigned int    cudlength;
  101.     unsigned char    cuddata[128];
  102. };
  103.  
  104. /*
  105.  *    Call clearing Cause and Diagnostic structure.
  106.  */
  107. struct x25_causediag {
  108.     unsigned char    cause;
  109.     unsigned char    diagnostic;
  110. };
  111.  
  112. #endif
  113.